Ñ Documentation for cron is in the ":cron set:cron:cron docs.txt" file.
Ñ Documentation for the various cron commands is at the top of their respective source files.
Ñ Source code for cron is not included currently, but will be available with the release version. If you've really gotta have the cron source now, let me know. This version of cron, by the way, is not a port of the BSD 4.3 cron daemon, but a complete reimplementation from scratch based on the description of BSD cron found in the man pages.
Ñ Source code for all the commands is included.
Ñ All source code was written for THINK C 5, but should be easy to get working in MPW C, since both environments are (essentially) ANSI compliant and use the same headers at long last.
Ñ Cron looks for its crontab file in the same directory as the cron application.
Ñ Currently, there is no Mac front-end to the crontab data file, i.e. there's no user interface for cron; you just edit the crontab file and cron reacts accordingly. I will, however, be happy to write one if there's sufficient interest in the cron product to make it worthwhile.
Ñ I hope cron and its associated commands can become a public development effort (assuming anyone finds it useful, of course). If you create new commands, please send them and their source (whenever possible) to me so they can be redistributed, along with all the other commands and sources, in subsequent test versions.
Ñ Input on all aspects of this project is welcome.
Chris Johnson
Internet: chrisj@emx.utexas.edu
UUCP: {husc6|uunet}!cs.utexas.edu!ut-emx!chrisj
BitNet: chrisj@utxvm.bitnet
AppleLink: chrisj@emx.utexas.edu@internet#
CompuServe: >INTERNET:chrisj@emx.utexas.edu
╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤
INFORMATION INCLUDED BELOW
╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤
Ñ Cron and Pathnames
Ñ Change History
Ñ Changes in 1.0d7
╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤
Cron and Pathnames
╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤
In the absence of a pathname, cron will not find its commands unless they are located in the same directory as cron. To illustrate; if you used cron from the directory hierarchy in which it is currently distributed, the following crontab entry would fail because it would not find the "open" command:
* * * * * nobody open MSWD
The following entry, on the other hand, would work:
* * * * * nobody ::open:open MSWD
This, of course, tells cron to go up to its parent directory, locate a dir named "open" and run the program also named "open" located within that directory.
If you supply partial pathnames as arguments, they are evaluated relative to the location of the program that ultimately processes the arguments. Full pathnames are supported, of course, so you can avoid the ambiguity of partial pathnames.
Personally, I just create a cron directory and put a copy of the cron program and all its commands in it. This way I can avoid the whole pathname issue when invoking commands.
One tip: use the open command with the -c (launch by creator code) option when you want to run conventional applications located outside the cron directory. This way the desktop database is used to locate the most recent version of the program on any of your mounted disks and you can avoid the fragility of path names entirely. Of course, this only works with programs that have their own icons and are located on HFS disks.
Change History
╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤
Changes in 1.0d7:
╤╤╤╤╤╤╤╤╤╤╤╤
Ñ The cron program has not changed at all (except that its 'vers' resource has been updated).
Ñ The open command used to refuse to launch an application unless at least one file was specified for the application to open. This has been fixed.
Ñ The sound command used to fail (it would only beep) when asked to play a sound that wouldn't fit in the free space in command's heap. In practice this prevented it from playing sounds larger than 15K (rough estimate). This has been fixed. If insufficient space is available in sound╒s heap, the sound is loaded into a buffer allocated in temporary memory.
Ñ The shutdown command is better documented. See the docs at the start of the "shutdown.c" source code.
Ñ An example crontab file is supplied in the cron folder.